const cloudHelper = require('../../../../../helper/cloud_helper.js');
const pageHelper = require('../../../../../helper/page_helper.js');
const ProjectBiz = require('../../../biz/project_biz.js');

Page({
	/**
	 * 页面的初始数据
	 */
	data: {
		isLoad: false,
		canvasId: 'canvasId',
		productDetail: null,
		currentImageIndex: 0,
		activeTab: 0,
		// 模拟产品数据
		productsData: {
			1: {
				id: 1,
				name: '智能传感器系列',
				category: '工业设备',
				price: '¥2,800',
				images: [
					'/projects/prod/images/products/sensor1.jpg',
					'/projects/prod/images/products/sensor2.jpg',
					'/projects/prod/images/products/sensor3.jpg'
				],
				description: '高精度工业传感器，适用于各种工业环境监测，具有稳定性好、精度高、抗干扰能力强等特点。',
				specifications: [
					{ name: '测量范围', value: '0-1000ppm' },
					{ name: '精度', value: '±1% FS' },
					{ name: '响应时间', value: '<30秒' },
					{ name: '工作温度', value: '-20℃ ~ +60℃' },
					{ name: '供电电压', value: 'DC 24V' },
					{ name: '输出信号', value: '4-20mA/RS485' }
				],
				features: [
					'高精度测量，稳定性好',
					'抗干扰能力强，适应复杂环境',
					'多种输出信号可选',
					'安装维护方便'
				]
			},
			2: {
				id: 2,
				name: '自动化控制系统',
				category: '控制系统',
				price: '¥15,800',
				images: [
					'/projects/prod/images/products/control1.jpg',
					'/projects/prod/images/products/control2.jpg'
				],
				description: '智能化工业自动化控制解决方案，集成PLC控制、HMI人机界面、数据采集等多种功能。',
				specifications: [
					{ name: '控制方式', value: 'PLC控制' },
					{ name: '触摸屏', value: '10.1英寸彩色触摸屏' },
					{ name: '通信接口', value: '以太网/RS485/RS232' },
					{ name: '控制点数', value: '128点数字量，64点模拟量' },
					{ name: '编程软件', value: '支持梯形图、功能块图' },
					{ name: '防护等级', value: 'IP65' }
				],
				features: [
					'集成化设计，功能强大',
					'操作简便，界面友好',
					'支持远程监控',
					'可靠性高，维护方便'
				]
			}
		}
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: async function (options) {
		ProjectBiz.initPage(this);

		if (!pageHelper.getOptions(this, options)) return;

		this._loadDetail();

	},

	_loadDetail: async function () {
		let id = this.data.id;
		if (!id) return;

		// 首先尝试从云函数获取数据
		let params = {
			id,
		};
		let opt = {
			title: 'bar'
		};

		try {
			let product = await cloudHelper.callCloudData('product/view', params, opt);
			if (product) {
				this.setData({
					isLoad: true,
					productDetail: product,
				});
				return;
			}
		} catch (error) {
			console.log('云函数获取失败，使用模拟数据');
		}

		// 如果云函数获取失败，使用模拟数据
		let mockProduct = this.data.productsData[id];
		if (mockProduct) {
			this.setData({
				isLoad: true,
				productDetail: mockProduct,
			});
		} else {
			this.setData({
				isLoad: null
			});
		}
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () { },

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	// 图片预览
	onImagePreview: function (e) {
		const current = e.currentTarget.dataset.current;
		const urls = this.data.productDetail.images;
		wx.previewImage({
			current: current,
			urls: urls
		});
	},

	// 图片切换
	onImageChange: function (e) {
		this.setData({
			currentImageIndex: e.detail.current
		});
	},

	// Tab切换
	onTabChange: function (e) {
		this.setData({
			activeTab: e.detail.index
		});
	},

	// 联系我们
	onContact: function () {
		wx.makePhoneCall({
			phoneNumber: '400-123-4567'
		});
	},

	// 立即咨询
	onConsult: function () {
		wx.showModal({
			title: '产品咨询',
			content: '请拨打我们的客服热线：400-123-4567',
			showCancel: false
		});
	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: async function () {
		await this._loadDetail();
		wx.stopPullDownRefresh();
	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	url: function (e) {
		pageHelper.url(e, this);
	},

	onPageScroll: function (e) {
		// 回页首按钮
		pageHelper.showTopBtn(e, this);

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function (res) {
		return {
			title: this.data.product.PRODUCT_TITLE,
			imageUrl: this.data.product.PRODUCT_OBJ.cover[0]
		}
	}, 

})